package com.lzhsite.leetcode.algoritom.practise;
import java.util.Random;
//红包算法，给定一个红包总金额和分红包的人数，输出每个人随机抢到的红包数量。
//要求：
//1. 每个人都要抢到红包，并且金额随机
//2. 每个人抢到的金额数不小于1
//3. 每个人抢到的金额数不超过总金额的30%
//例如总金额100，人数10，输出【19 20 15 1 25 14 2 2 1 1】
public class 红包算法 {

	public static int sum = 10000;
	public static int count = 10;
	public static int nums[] = new int[(sum * 3) / 10];

	public static int result[] = new int[100];
	public static Random ra =new Random();
	public static Boolean isComplete =false;
 
	public  static void redpage(){
		while(!isComplete){
			for (int j = 0; j < count; j++) {
				result[j]=0;
			}
			int tempsum =sum;
			for (int i = 0; i < count; i++) {
				int temp = ra.nextInt(nums.length);
				result[i]=nums[temp];
				tempsum=tempsum-result[i];
				if(tempsum==0){
					if(i==count-1){
						isComplete =true;
						for (int j = 0; j < count; j++) {
							System.out.print(result[j] + " ");
						}
						System.out.println();
						break;
					}
				
				}
			}
		}
		
	}

	public static void main(String[] args) {

		for (int i = 0; i < nums.length; i++) {
			nums[i] = i + 1;
		}
 
		redpage();
	}

}
